Virtual figure is a technology that was developed through the Internet in recent years and a web virtual figure has gradually become a fashion for netizen because it can embody user's individuation and exhibit user's originality, the virtual figure is very popular among the netizen. At present, most of the virtual figures are stored based on an interchangeable image file format Graphic Interchange Format (GIF) and each virtual figure is synthesized by multiple components. The component hereby denotes each component image that synthesizes the virtual figure and was stored in the GIF format and each component is a single-frame GIF image.
The GIF format is a basic standard image file storage format and each GIF file may include a plurality of color images where each color image is called a frame, in other words, a plurality of frames may be stored in each GIF file. The GIF images can be divided into single-frame images and multi-frame images and, generally speaking, the single-frame image appears as a static image while the multi-frame image is displayed one frame after another to represent dynamic effect or animation effect just like a lantern slide projection. However, each frame is different from a single piece of image in that the single frame usually cannot form an image, so one frame in the GIF image must associate with the previous frame therein in order to be represented as a visual image. A GIF image file stores the image-related information with block as the unit and each GIF file includes a block indicating the graphic/image, a sub block and a control information block displaying the graphic/image, which are called a GIF data stream. All the control information blocks and the blocks in the data stream must be located between Header and Trailer. The GIF file format adopts a Lempel-Ziv Walch (LZW) compression algorithm to store the image data and the users are allowed to set transparency attribute for the image background.
Typical structure of a GIF file is shown in table 1.
TABLE 1LabelConstituent NameDescription1HeaderGIF Header2Logical ScreenLogical Screen DescriptionDescriptorBlock3Global Color TableGlobal Color Table. . . Extension Module(arbitrarily selected) . . .4Image DescriptorImage Description BlockRepeated5Local Color TableLocal Color Table (whichforcan be repeated forN timesn times)6Table Based Image DataTable Based CompressedImage Data7Graphic ControlGraphic Control ExtensionExtensionBlock8Plain Text ExtensionPlain Text Extension Block9Comment ExtensionComment Extension Block10Application ExtensionApplication ExtensionBlock. . . Extension Module(arbitrarily selected) . . .11GIF TrailerGIF Trailer
There are three types of blocks in the GIF file: a Control Block, a Graphic-Rendering Block and a Special Purpose Block. Therein, the Control Block includes information for controlling data stream or setting hardware parameters, while elements of the control block include: a GIF Header, a Logical Screen Descriptor, a Graphic Control Extension and a GIF file Trailer. The Graphic-Rendering Block includes information and data for rendering the displayed graphic on the display device, while elements of the graphic descriptor include: an Image Descriptor and a Plain Text Extension. The Special Purpose Block includes information independent of the image processing and elements of the Special Purpose Block include: a Comment Extension and an Application Extension.
Here, the influence scopes of only the Logical Screen Descriptor and the Global Color Table in the Control Block are outside of the data stream, while all the other control blocks only control the Graphic-Rendering Blocks following them. In other words, in table 1, influence scopes of the Logical Screen Descriptor and the Global Color Table are the whole file, while the Application Extension, the Plain Text Extension, the Comment Extension and the Graphic Control Extension only control those Graphic-Rendering Blocks following them.
In table 1, the Logical Screen Descriptor includes parameters defining image display area, including information like a logic screen size, a background color, whether there is the global color table and so on.
Because one GIF file can include a plurality of color images and each color image may have a color table in accordance with this image's characteristics, one GIF file may have several color tables. But there are only two kinds of the color tables in general: the Global Color Table and the Local Color Table. The Global Color Table is applicable for all the images with no color table and the Plain Text Extensions, while the Local Color Table is only applicable for the image following it. The Global Color Table can be inexistent when each frame of the image has a Local Color Table.
The Application Extension includes relevant information about the application program to make up the image file, such as: whether there is a periodic animation display, how many times to periodically play the animation and so on. This block can be left out when the image file is static.
The Graphic Control Extension includes parameters for processing the Graphic-Rendering Block, including: a transparence mark that indicates the existence of transparence, transparence color index, processing method, remaining time and so on. Therein, the processing method is used for specifying the process after the graphic is displayed, for example: a) no process is specified; b) no process is specified and the graphic remains where it is; c) color of the area displaying the graphic must be recovered as the background color; d) displaying the previously displayed graphic. The remaining time, whose unit is 1% second, is used for specifying the waiting time span between the graphic display and subsequent process.
The Image Descriptor is used for recording the size of each frame of the image and may include any number of images with no fixed storage sequence while only a one-byte image separator is used for identifying the Image Descriptor. Each image includes an image descriptor, a dispensable local color table and image data. Each image must be within the logic screen defined by the logical screen descriptor.
The Image data include sub data sequences. The image data record each pixel using the index value of the color table and compress the data by using the LZW algorithm.